axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net';

//axios拦截所有请求
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');

//用拦截器判断是否是要使用该拦截的请求
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // console.log(config.url);
    if (config.url.indexOf('/my/') !== -1) {
        config.headers.Authorization = localStorage.getItem('token');
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

//添加响应拦截(当登录失效的时候)
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    // console.log(response.data);
    if(response.data.message === '身份认证失败！'){
        localStorage.removeItem('token');
        location.href = '/login.html'
    }
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

//3. 日期补零
function padZero(time) {
    let data = new Date(time);
    let y = addZero(data.getFullYear());
    let m =addZero(data.getMonth() + 1);
    // console.log( String(m).padStart(2, '0'));
    let d = addZero(data.getDate());
    let h = addZero(data.getHours());
    let min = addZero(data.getMinutes());
    let s = addZero(data.getSeconds());
    
    return `${y}-${m}-${d} ${h}:${min}:${s}`
}

function addZero(num) {
    return num < 10? '0' + num : num;
}
